package controller;

import controller.actions.BinAction;
import controller.actions.EntityAction;
import controller.actions.EntityClickedAction;


/**
 * A state interface for the controllers.
 * 
 * @author ben
 *
 */
public interface IState {
	
	public void handleAction(IPlayerAction playerAction);
	
	// Entity Actions
	public void handleEntityClickedAction(EntityClickedAction action);
	public void handleEntityReleasedAction(EntityAction action);
	public void handleEntityDraggedAction(EntityAction action);
	
	// Bin Actions
	public void handleBinClicked(BinAction action);
	public void handleBinDraggedAction(BinAction action);
	
	// level Actions
	public void handleLevelLoadAction(String levelName);

}
